home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Atari Mega Archive 2
/
Atari Mega Archive CD - Volume 2.iso
/
minix
/
up1510b.tgz
/
up1510b
/
src
/
test
/
test14.c
< prev
next >
Wrap
C/C++ Source or Header
|
1990-07-23
|
885b
|
51 lines
/* Test 14. unlinking an open file. */
#include <errno.h>
#define TRIALS 100
#define MAX_ERROR 4
char name[20] = {"TMP14."};
int errct;
int subtest = 1;
main()
{
int fd0, i, pid;
printf("Test 14 ");
pid = getpid();
name[6] = (pid & 037) + 33;
name[7] = ((pid * pid) & 037) + 33;
name[8] = 0;
for (i = 0; i < TRIALS; i++) {
if ( (fd0 = creat(name, 0777)) < 0) e(1);
if (write(fd0, name, 20) != 20) e(2);
if (unlink(name) != 0) e(3);
if (close(fd0) != 0) e(4);
}
fd0 = creat(name, 0777);
write(fd0, name, 20);
unlink(name);
printf("ok\n");
}
e(n)
int n;
{
int err_num = errno; /* save errno in case printf clobbers it */
printf("Subtest %d, error %d errno=%d ", subtest, n, errno);
errno = err_num; /* restore errno, just in case */
perror("");
if (errct++ > MAX_ERROR) {
printf("Too many errors; test aborted\n");
exit(1);
}
}